﻿// ReSharper disable once CheckNamespace
namespace Fluent;

using System.Windows;

/// <summary>
/// Represents menu item in ribbon status bar menu
/// </summary>
public class StatusBarMenuItem : MenuItem
{
    #region Properties

    /// <summary>
    /// Gets or sets Ribbon Status Bar menu item
    /// </summary>
    public StatusBarItem? StatusBarItem
    {
        get { return (StatusBarItem?)this.GetValue(StatusBarItemProperty); }
        set { this.SetValue(StatusBarItemProperty, value); }
    }

    /// <summary>Identifies the <see cref="StatusBarItem"/> dependency property.</summary>
    public static readonly DependencyProperty StatusBarItemProperty =
        DependencyProperty.Register(nameof(StatusBarItem), typeof(StatusBarItem), typeof(StatusBarMenuItem), new PropertyMetadata());

    #endregion

    #region Constructors

    /// <summary>
    /// Static constructor
    /// </summary>
    static StatusBarMenuItem()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(StatusBarMenuItem), new FrameworkPropertyMetadata(typeof(StatusBarMenuItem)));
    }

    /// <summary>
    /// Default constructor
    /// </summary>
    /// <param name="item">Ribbon Status Bar menu item</param>
    public StatusBarMenuItem(StatusBarItem item)
    {
        this.StatusBarItem = item;
    }

    internal StatusBarMenuItem()
    {
    }

    #endregion
}